Address Search Method and Device

ABSTRACT

An address search method and device, includes acquiring address search request information, determining to-be-found destination address information included in the address search request information, splitting the destination address information into at least one piece of sub-address information, where the destination address information is formed by multiple pieces of sub-address information, and the multiple pieces of sub-address information respectively correspond to different address types, matching the at least one piece of sub-address information or the at least one piece of sub-address information and the destination address information with different address information included in an address database, where each piece of address information stored in the address database includes different sub-address information that forms the address information, and setting address information that is obtained by matching and whose match degree is greater than a set threshold as found destination address information for output.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/398,260, filed on Jan. 4, 2017, which is a continuation ofInternational Patent Application No. PCT/CN2015/079816, filed on May 26,2015, which claims priority to Chinese Patent Application No.201410525978.X filed on Sep. 30, 2014. All of the aforementioned patentapplications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

The present application relates to the field of data processingtechnologies, and in particular, to an address search method and device.

BACKGROUND

With the development of communications technologies and terminaltechnologies, increasingly more applications depend on mobile terminals,particularly navigation applications. For example, a user can initiate anavigation request to a mobile terminal in a voice or text input manner,and a navigation application selects a navigation route according to thereceived navigation request, and pushes the selected navigation route tothe user.

Further, a manner in which the navigation application selects thenavigation route according to the received navigation request includesbut is not limited to the following.

A conditional random field (CRF) algorithm is used to extract an addressname or a building name/organization name from the received navigationrequest, and determine a destination address of the navigation requestusing the extracted address name or building name/organization name whenthe navigation request is entered in a text form.

Address information included in the voice is used as a search basis todetermine a destination address of the navigation request when thenavigation request is entered in a voice form.

A disadvantage is when the destination address is being determined, onlythe address name (or the building name/organization name) extracted fromthe text or voice input is used to match address information in anaddress database. As a result, a determined destination address setincludes many irrelevant addresses, which reduces accuracy of addresssearching.

SUMMARY

In view of this, embodiments of the present application provide anaddress search method and device in order to solve a currently existingproblem that address searching accuracy is relatively low becausemultiple irrelevant addresses are found in an address search process.

According to a first aspect of the present application, an addresssearch method is provided, including acquiring address search requestinformation, determining to-be-found destination address informationincluded in the address search request information, splitting thedestination address information into at least one piece of sub-addressinformation, where the destination address information is formed bymultiple pieces of sub-address information, and the multiple pieces ofsub-address information respectively correspond to different addresstypes, matching the at least one piece of sub-address information or theat least one piece of sub-address information and the destinationaddress information with different address information included in anaddress database, where each piece of address information stored in theaddress database includes different sub-address information that formsthe address information, and setting address information that isobtained by the matching and whose match degree is greater than a setthreshold as found destination address information for output.

With reference to the first aspect of the present application, in afirst possible manner, acquiring address search request informationincludes receiving entered voice data, where the voice data is used toinitiate an address search, and performing recognition on the voice datato obtain the to-be-found destination address information included inthe voice data.

With reference to the first aspect of the present application, or withreference to the first possible implementation manner of the firstaspect of the present application, in a second possible manner, theto-be-found destination address information is obtained in the followingmanner. Determining at least one keyword included in the address searchrequest information, finding, from preset text address dictionariescorresponding to different address types, a text address dictionaryincluding the keyword for each determined keyword, and replacing thekeyword with a string used to denote an address type corresponding tothe found text address dictionary, determining, using a regularexpression used to represent address information, whether a string groupformed after each keyword is replaced with a corresponding stringrepresents address information, determining, according to the stringgroup, a quasi address string corresponding to the to-be-founddestination address information when the string group represents addressinformation, and setting the quasi address string as a CRF feature, andextracting the to-be-found destination address information from theaddress search request information based on a CRF algorithm.

With reference to the second possible implementation manner of the firstaspect of the present application, in a third possible implementationmanner, determining, according to the string group, a quasi addressstring corresponding to the to-be-found destination address informationincludes determining that multiple strings are included in the stringgroup, and that keywords that are respectively replaced with themultiple strings are continuous in position in the address searchrequest information, combining the multiple strings into one stringgroup based on continuity of positions of the replaced keywords, as thequasi address string corresponding to the to-be-found destinationaddress information if none of the multiple strings is a duplicate, andremoving the duplicate string, and combining at least one stringobtained after the duplicate string is removed into one string groupbased on continuity of positions of the replaced keywords, as the quasiaddress string corresponding to the to-be-found destination addressinformation if any of the multiple strings is a duplicate.

With reference to the first aspect of the present application, or withreference to the first possible implementation manner of the firstaspect of the present application, or with reference to the secondpossible implementation manner of the first aspect of the presentapplication, or with reference to the third possible implementationmanner of the first aspect of the present application, in a fourthpossible manner, splitting the destination address information into atleast one piece of sub-address information includes splitting, accordingto the address types represented by the preset text address dictionariescorresponding to different address types, the destination addressinformation into sub-address information corresponding to the differentaddress types.

With reference to the first aspect of the present application, or withreference to the first possible implementation manner of the firstaspect of the present application, or with reference to the secondpossible implementation manner of the first aspect of the presentapplication, or with reference to the third possible implementationmanner of the first aspect of the present application, or with referenceto the fourth possible implementation manner of the first aspect of thepresent application, in a fifth possible manner, the address typeincludes one or a combination of multiple of the following information,administrative region information, road name information,building/organization name information, auxiliary content of the roadname, and auxiliary content of the building/organization name.

With reference to the first aspect of the present application, or withreference to the first possible implementation manner of the firstaspect of the present application, or with reference to the secondpossible implementation manner of the first aspect of the presentapplication, or with reference to the third possible implementationmanner of the first aspect of the present application, or with referenceto the fourth possible implementation manner of the first aspect of thepresent application, or with reference to the fifth possibleimplementation manner of the first aspect of the present application, ina sixth possible manner, matching the at least one piece of sub-addressinformation or the at least one piece of sub-address information and thedestination address information with different address informationincluded in an address database includes correspondingly matching eachof the at least one piece of sub-address information in the destinationaddress information with sub-address information of a same address typein the address database.

With reference to the first aspect of the present application, or withreference to the first possible implementation manner of the firstaspect of the present application, or with reference to the secondpossible implementation manner of the first aspect of the presentapplication, or with reference to the third possible implementationmanner of the first aspect of the present application, or with referenceto the fourth possible implementation manner of the first aspect of thepresent application, or with reference to the fifth possibleimplementation manner of the first aspect of the present application, ina seventh possible manner, matching the at least one piece ofsub-address information or the at least one piece of sub-addressinformation and the destination address information with differentaddress information included in an address database includes selectingone piece of address information from the address database, determiningsub-address information included in the selected address information,performing matching calculation between each of the at least one pieceof sub-address information included in the to-be-found destinationaddress and the sub-address information included in the selected addressinformation to obtain a first match degree, where an address type of thesub-address information that is included in the to-be-found destinationaddress and for which matching calculation is performed is the same asan address type of the sub-address information included in the selectedaddress information, and obtaining a total match degree between theselected address information and the to-be-found destination addressinformation according to the first match degree.

With reference to the seventh possible implementation manner of thefirst aspect of the present application, in an eighth possible manner,obtaining a total match degree between the selected address informationand the to-be-found destination address information according to thefirst match degree includes performing matching calculation between theselected address information and the to-be-found destination addressinformation to obtain a second match degree, and obtaining the totalmatch degree between the selected address information and theto-be-found destination address information according to the first matchdegree and the second match degree.

With reference to the sixth possible implementation manner of the firstaspect of the present application, or with reference to the seventhpossible implementation manner of the first aspect of the presentapplication, or with reference to the eighth possible implementationmanner of the first aspect of the present application, in a ninthpossible manner, the performing matching calculation between sub-addressinformation included in the to-be-found destination address and thesub-address information included in the selected address information toobtain a first match degree includes that for each piece of sub-addressinformation included in the to-be-found destination address information,finding, from the selected address information, sub-address informationwhose address type is the same as that of the sub-address informationfor the sub-address information, calculating an editing distancerequired for mutual conversion between the sub-address information andthe found sub-address information, and calculating the first matchdegree according to an editing distance obtained corresponding to eachpiece of sub-address information included in the to-be-found destinationaddress information.

With reference to the sixth possible implementation manner of the firstaspect of the present application, or with reference to the seventhpossible implementation manner of the first aspect of the presentapplication, or with reference to the eighth possible implementationmanner of the first aspect of the present application, or with referenceto the ninth possible implementation manner of the first aspect of thepresent application, in a tenth possible manner, setting addressinformation that is obtained by matching and whose match degree isgreater than a set threshold as found destination address informationfor output includes obtaining, by means of calculation, a total matchdegree between address information selected each time and theto-be-found destination address information, and determining in sequencea set quantity of total match degrees in descending order of the totalmatch degrees, and setting address information selected corresponding tothe determined total match degrees as the found destination addressinformation for output.

According to a second aspect of the present application, an addresssearch device is provided, including an acquiring module configured toacquire address search request information, and determine to-be-founddestination address information included in the address search requestinformation, a splitting module configured to split the destinationaddress information determined by the acquiring module into at least onepiece of sub-address information, where the destination addressinformation is formed by multiple pieces of sub-address information, andthe multiple pieces of sub-address information respectively correspondto different address types, and a searching module configured to matchthe at least one piece of sub-address information obtained by thesplitting module or the at least one piece of sub-address informationand the destination address information with different addressinformation included in an address database, where each piece of addressinformation stored in the address database includes differentsub-address information that forms the address information, and setaddress information that is obtained by the matching and whose matchdegree is greater than a set threshold as found destination addressinformation for output.

With reference to the second aspect of the present application, in afirst possible manner, the acquiring module is further configured toreceive entered voice data, where the voice data is used to initiate anaddress search, and perform recognition on the voice data to obtain theto-be-found destination address information included in the voice data.

With reference to the second aspect of the present application, or withreference to the first possible implementation manner of the secondaspect of the present application, in a second possible manner, theacquiring module is further configured to obtain the to-be-founddestination address information in the manner of determining at leastone keyword included in the address search request information, finding,from preset text address dictionaries corresponding to different addresstypes, a text address dictionary including the keyword for eachdetermined keyword, and replacing the keyword with a string used todenote an address type corresponding to the found text addressdictionary, determining, using a regular expression used to representaddress information, whether a string group formed after each keyword isreplaced with a corresponding string represents address information,determining, according to the string group, a quasi address stringcorresponding to the to-be-found destination address information whenthe string group represents address information, and setting the quasiaddress string as a CRF feature, and extracting the to-be-founddestination address information from the address search requestinformation based on a CRF algorithm.

With reference to the second possible implementation manner of thesecond aspect of the present application, in a third possibleimplementation manner, that the acquiring module is determining,according to the string group, a quasi address string corresponding tothe to-be-found destination address information, which further includesdetermining that multiple strings are included in the string group, andthat keywords that are respectively replaced with the multiple stringsare continuous in position in the address search request information,combining the multiple strings into one string group based on continuityof positions of the replaced keywords, as the quasi address stringcorresponding to the to-be-found destination address information if noneof the multiple strings is a duplicate, and removing the duplicatestring, and combining at least one string obtained after the duplicatestring is removed into one string group based on continuity of positionsof the replaced keywords, as the quasi address string corresponding tothe to-be-found destination address information if any of the multiplestrings is a duplicate.

With reference to the second aspect of the present application, or withreference to the first possible implementation manner of the secondaspect of the present application, or with reference to the secondpossible implementation manner of the second aspect of the presentapplication, or with reference to the third possible implementationmanner of the second aspect of the present application, in a fourthpossible manner, the splitting module is further configured to split,according to the address types represented by the preset text addressdictionaries corresponding to different address types, the destinationaddress information into sub-address information corresponding to thedifferent address types.

With reference to the second aspect of the present application, or withreference to the first possible implementation manner of the secondaspect of the present application, or with reference to the secondpossible implementation manner of the second aspect of the presentapplication, or with reference to the third possible implementationmanner of the second aspect of the present application, or withreference to the fourth possible implementation manner of the secondaspect of the present application, in a fifth possible manner, theaddress type includes one or a combination of multiple of the followinginformation, administrative region information, road name information,building/organization name information, auxiliary content of the roadname, and auxiliary content of the building/organization name.

With reference to the second aspect of the present application, or withreference to the first possible implementation manner of the secondaspect of the present application, or with reference to the secondpossible implementation manner of the second aspect of the presentapplication, or with reference to the third possible implementationmanner of the second aspect of the present application, or withreference to the fourth possible implementation manner of the secondaspect of the present application, or with reference to the fifthpossible implementation manner of the second aspect of the presentapplication, in a sixth possible manner, the searching module is furtherconfigured to correspondingly match each of the at least one piece ofsub-address information in the destination address information withsub-address information of a same address type in the address database.

With reference to the second aspect of the present application, or withreference to the first possible implementation manner of the secondaspect of the present application, or with reference to the secondpossible implementation manner of the second aspect of the presentapplication, or with reference to the third possible implementationmanner of the second aspect of the present application, or withreference to the fourth possible implementation manner of the secondaspect of the present application, or with reference to the fifthpossible implementation manner of the second aspect of the presentapplication, in a seventh possible manner, the searching module isfurther configured to select one piece of address information from theaddress database, and determine sub-address information included in theselected address information, perform matching calculation between eachof the at least one piece of sub-address information included in theto-be-found destination address and the sub-address information includedin the selected address information to obtain a first match degree,where an address type of the sub-address information that is included inthe to-be-found destination address and for which matching calculationis performed is the same as an address type of the sub-addressinformation included in the selected address information, and obtain atotal match degree between the selected address information and theto-be-found destination address information according to the first matchdegree.

With reference to the seventh implementation manner of the second aspectof the present application, in an eighth possible manner, that thesearching module is obtaining a total match degree between the selectedaddress information and the to-be-found destination address informationaccording to the first match degree further includes performing matchingcalculation between the selected address information and the to-be-founddestination address information to obtain a second match degree, andobtaining the total match degree between the selected addressinformation and the to-be-found destination address informationaccording to the first match degree and the second match degree.

With reference to the sixth possible implementation manner of the secondaspect of the present application, or with reference to the seventhpossible implementation manner of the second aspect of the presentapplication, or with reference to the eighth possible implementationmanner of the second aspect of the present application, in a ninthpossible manner, that the searching module is performing matchingcalculation between sub-address information included in the to-be-founddestination address and the sub-address information included in theselected address information to obtain a first match degree furtherincludes for each piece of sub-address information included in theto-be-found destination address information, finding, from the selectedaddress information, sub-address information whose address type is thesame as that of the sub-address information for the sub-addressinformation, calculating an editing distance required for mutualconversion between the sub-address information and the found sub-addressinformation, and calculating the first match degree according to anediting distance obtained corresponding to each piece of sub-addressinformation included in the to-be-found destination address information.

With reference to the sixth possible implementation manner of the secondaspect of the present application, or with reference to the seventhpossible implementation manner of the second aspect of the presentapplication, or with reference to the eighth possible implementationmanner of the second aspect of the present application, or withreference to the ninth possible implementation manner of the secondaspect of the present application, in a tenth possible manner, that thesearching module is setting address information that is obtained by thematching and whose match degree is greater than a set threshold as founddestination address information for output further includes obtaining,by means of calculation, a total match degree between addressinformation selected each time and the to-be-found destination addressinformation, and determining in sequence a set quantity of total matchdegrees in descending order of the total match degrees, and settingaddress information selected corresponding to the determined total matchdegrees as the found destination address information for output.

According to a third aspect of the present application, an addresssearch device is provided, including a signal receiver configured toacquire address search request information, and determine to-be-founddestination address information included in the address search requestinformation, a processor configured to split the destination addressinformation into at least one piece of sub-address information, wherethe destination address information is formed by multiple pieces ofsub-address information, and the multiple pieces of sub-addressinformation respectively correspond to different address types, matchthe at least one piece of sub-address information or the at least onepiece of sub-address information and the destination address informationwith different address information included in an address database,where each piece of address information stored in the address databaseincludes different sub-address information that forms the addressinformation, and set address information that is obtained by matchingand whose match degree is greater than a set threshold as founddestination address information for output.

With reference to the third aspect of the present application, in afirst possible manner, the processor further executes receiving enteredvoice data, where the voice data is used to initiate an address search,and performing recognition on the voice data to obtain the to-be-founddestination address information included in the voice data.

With reference to the third aspect of the present application, or withreference to the first possible implementation manner of the thirdaspect of the present application, in a second possible manner, theprocessor further executes obtaining to-be-found destination addressinformation in the following manner. Determine at least one keywordincluded in the address search request information, find, from presettext address dictionaries corresponding to different address types, atext address dictionary including the keyword for each determinedkeyword, and replace the keyword with a string used to denote an addresstype corresponding to the found text address dictionary, determine,using a regular expression used to represent address information,whether a string group formed after each keyword is replaced with acorresponding string represents address information, determine,according to the string group, a quasi address string corresponding tothe to-be-found destination address information when the string grouprepresents address information, and set the quasi address string as aCRF feature, and extract the to-be-found destination address informationfrom the address search request information based on a CRF algorithm.

With reference to the second possible implementation manner of the thirdaspect of the present application, in a third possible manner, theprocessor further executes the determining, according to the stringgroup, a quasi address string corresponding to the to-be-founddestination address information, which includes determining thatmultiple strings are included in the string group, and keywords that arerespectively replaced with the multiple strings are continuous inposition in the address search request information, combining themultiple strings into one string group based on continuity of positionsof the replaced keywords, as the quasi address string corresponding tothe to-be-found destination address information if none of the multiplestrings is a duplicate, and removing the duplicate string if any of themultiple strings is a duplicate, and combining at least one stringobtained after the duplicate string is removed into one string groupbased on continuity of positions of the replaced keywords, as the quasiaddress string corresponding to the to-be-found destination addressinformation.

With reference to the third aspect of the present application, or withreference to the first possible implementation manner of the thirdaspect of the present application, or with reference to the secondpossible implementation manner of the third aspect of the presentapplication, or with reference to the third possible implementationmanner of the third aspect of the present application, in a fourthpossible manner, the processor further executes splitting thedestination address information into at least one piece of sub-addressinformation, which includes splitting, according to the address typesrepresented by the preset text address dictionaries corresponding todifferent address types, the destination address information intosub-address information corresponding to the different address types.

With reference to the third aspect of the present application, or withreference to the first possible implementation manner of the thirdaspect of the present application, or with reference to the secondpossible implementation manner of the third aspect of the presentapplication, or with reference to the third possible implementationmanner of the third aspect of the present application, or with referenceto the fourth possible implementation manner of the third aspect of thepresent application, in a fifth possible manner, the address typeincludes one or a combination of multiple of the following informationadministrative region information, road name information,building/organization name information, auxiliary content of the roadname, and auxiliary content of the building/organization name.

With reference to the third aspect of the present application, or withreference to the first possible implementation manner of the thirdaspect of the present application, or with reference to the secondpossible implementation manner of the third aspect of the presentapplication, or with reference to the third possible implementationmanner of the third aspect of the present application, or with referenceto the fourth possible implementation manner of the third aspect of thepresent application, or with reference to the fifth possibleimplementation manner of the third aspect of the present application, ina sixth possible manner, the processor further executes correspondinglymatching each of the at least one piece of sub-address information inthe destination address information with sub-address information of asame address type in the address database.

With reference to the third aspect of the present application, or withreference to the first possible implementation manner of the thirdaspect of the present application, or with reference to the secondpossible implementation manner of the third aspect of the presentapplication, or with reference to the third possible implementationmanner of the third aspect of the present application, or with referenceto the fourth possible implementation manner of the third aspect of thepresent application, or with reference to the fifth possibleimplementation manner of the third aspect of the present application, ina seventh possible manner, the processor further executes matching theat least one piece of sub-address information or the at least one pieceof sub-address information and the destination address information withdifferent address information included in an address database, whichincludes selecting one piece of address information from the addressdatabase, and determining sub-address information included in theselected address information, performing matching calculation betweeneach of the at least one piece of sub-address information included inthe to-be-found destination address and the sub-address informationincluded in the selected address information to obtain a first matchdegree, where an address type of the sub-address information that isincluded in the to-be-found destination address and for which matchingcalculation is performed is the same as an address type of thesub-address information included in the selected address information,and obtaining a total match degree between the selected addressinformation and the to-be-found destination address informationaccording to the first match degree.

With reference to the seventh possible implementation manner of thethird aspect of the present application, in an eighth possible manner,the processor further executes obtaining a total match degree betweenthe selected address information and the to-be-found destination addressinformation according to the first match degree, which further includesperforming matching calculation between the selected address informationand the to-be-found destination address information to obtain a secondmatch degree, and obtaining the total match degree between the selectedaddress information and the to-be-found destination address informationaccording to the first match degree and the second match degree.

With reference to the sixth possible implementation manner of the thirdaspect of the present application, or with reference to the seventhpossible implementation manner of the third aspect of the presentapplication, or with reference to the eighth possible implementationmanner of the third aspect of the present application, in a ninthpossible manner, the processor further executes performing matchingcalculation between sub-address information included in the to-be-founddestination address and the sub-address information included in theselected address information to obtain a first match degree, whichincludes for each piece of sub-address information included in theto-be-found destination address information, finding, from the selectedaddress information, sub-address information whose address type is thesame as that of the sub-address information for the sub-addressinformation, calculating an editing distance required for mutualconversion between the sub-address information and the found sub-addressinformation, and calculating the first match degree according to anediting distance obtained corresponding to each piece of sub-addressinformation included in the to-be-found destination address information.

With reference to the sixth possible implementation manner of the thirdaspect of the present application, or with reference to the seventhpossible implementation manner of the third aspect of the presentapplication, or with reference to the eighth possible implementationmanner of the third aspect of the present application, or with referenceto the ninth possible implementation manner of the third aspect of thepresent application, in a tenth possible manner, the processor furtherexecutes setting address information that is obtained by matching andwhose match degree is greater than a set threshold as found destinationaddress information for output, which includes obtaining, by means ofcalculation, a total match degree between address information selectedeach time and the to-be-found destination address information, anddetermining in sequence a set quantity of total match degrees indescending order of the total match degrees, and setting addressinformation selected corresponding to the determined total match degreesas the found destination address information for output.

The present application has the following beneficial effect.

In the embodiments of the present application, address search requestinformation is acquired, and to-be-found destination address informationincluded in the address search request information is determined. Thedestination address information is split into at least one piece ofsub-address information, where the destination address information isformed by multiple pieces of sub-address information, and the multiplepieces of sub-address information respectively correspond to differentaddress types. The at least one piece of sub-address information or theat least one piece of sub-address information and the destinationaddress information are matched with different address informationincluded in an address database, where each piece of address informationstored in the address database includes different sub-addressinformation that forms the address information, and address informationthat is obtained by the matching and whose match degree is greater thana set threshold is used as found destination address information foroutput. In the embodiments of the present application, when addresssearch request information is acquired, sub-address informationcorresponding to destination address information is extracted from theaddress search request information, which improves correctness ofextraction of destination address information. The extracted sub-addressinformation and the destination address information are matched withdifferent address information included in an address database, and thenaddress information whose match degree is greater than a set thresholdis used as found destination address information, which effectivelyincreases correctness of address matching and accuracy of addresssearching.

BRIEF DESCRIPTION OF DRAWINGS

To describe the technical solutions in the embodiments of the presentapplication more clearly, the following briefly introduces theaccompanying drawings required for describing the embodiments. Theaccompanying drawings in the following description show merely someembodiments of the present application, and a person of ordinary skillin the art may still derive other drawings from these accompanyingdrawings without creative efforts.

FIG. 1 is a schematic structural diagram of an address search systemaccording to Embodiment 1 of the present application.

FIG. 2 is a schematic structural diagram of an address search deviceaccording to Embodiment 2 of the present application.

FIG. 3 is a schematic structural diagram of an address search deviceaccording to Embodiment 3 of the present application.

FIG. 4 is a schematic flowchart of an address search method according toEmbodiment 4 of the present application.

DESCRIPTION OF EMBODIMENTS

To achieve an objective of the present application, embodiments of thepresent application provide an address search method and device,including acquiring address search request information, determiningto-be-found destination address information included in the addresssearch request information, splitting the destination addressinformation into at least one piece of sub-address information, wherethe destination address information is formed by multiple pieces ofsub-address information, and the multiple pieces of sub-addressinformation respectively correspond to different address types, matchingthe at least one piece of sub-address information or the at least onepiece of sub-address information and the destination address informationwith different address information included in an address database,where each piece of address information stored in the address databaseincludes different sub-address information that forms the addressinformation, and setting address information that is obtained by thematching and whose match degree is greater than a set threshold as founddestination address information for output. In the embodiments of thepresent application, sub-address information corresponding todestination address information is extracted from the address searchrequest information when address search request information is acquired,which improves correctness of extraction of destination addressinformation. The extracted sub-address information and the destinationaddress information are matched with different address informationincluded in an address database, and then address information whosematch degree is greater than a set threshold is used as founddestination address information, which effectively increases correctnessof address matching and accuracy of address searching.

The following further describes the embodiments of the presentapplication in detail with reference to accompanying drawings in thisspecification. The described embodiments are merely some but not all ofthe embodiments of the present application. All other embodimentsobtained by a person of ordinary skill in the art based on theembodiments of the present application without creative efforts shallfall within the protection scope of the present application.

Embodiment 1

As shown in FIG. 1, FIG. 1 is a schematic structural diagram of anaddress search system according to Embodiment 1 of the presentapplication. The address search system includes a receiving device 11,an address extracting device 12, and an address matching device 13.

The receiving device 11 is configured to acquire address search requestinformation.

The address extracting device 12 is configured to determine to-be-founddestination address information included in the address search requestinformation, and split the destination address information into at leastone piece of sub-address information, where the destination addressinformation is formed by multiple pieces of sub-address information, andthe multiple pieces of sub-address information respectively correspondto different address types.

The receiving device 11 is further configured to receive entered textdata, where the text data is used to initiate an address search.

The address extracting device 12 is further configured to performrecognition on the text data to obtain the to-be-found destinationaddress information included in the text data.

For example, the entered text data that is received is “Exit No. 4,Caoyang Road Station, Shanghai.” Therefore, it can be determined thatthe to-be-found destination address information included in the textdata is Exit No. 4, Caoyang Road Station, Shanghai.

The receiving device 11 is further configured to receive entered voicedata, where the voice data is used to initiate an address search.

The address extracting device 12 is further configured to performrecognition on the voice data to obtain the to-be-found destinationaddress information included in the voice data.

For example, the entered voice data that is received is “go to Exit No.4, Caoyang Road Station, Shanghai.” Therefore, it can be determined thatthe to-be-found destination address information included in the voicedata is, Exit No. 4, Caoyang Road Station, Shanghai.

That is, in addition to including the to-be-found destination addressinformation, the address search request information may further includeother auxiliary information according to a language habit, for example,text information such as “go to.”

The address extracting device 12 is further configured to obtain theto-be-found destination address information in the manner of determiningat least one keyword included in the address search request information,finding, from preset text address dictionaries corresponding todifferent address types, a text address dictionary including the keywordfor each determined keyword, and replacing the keyword with a stringused to denote an address type corresponding to the found text addressdictionary, determining, using a regular expression used to representaddress information, whether a string group formed after each keyword isreplaced with a corresponding string represents address information,determining, according to the string group, a quasi address stringcorresponding to the to-be-found destination address information whenthe string group represents address information, and setting the quasiaddress string as a CRF feature, and extracting the to-be-founddestination address information from the address search requestinformation based on a CRF algorithm.

It should be noted that the address information is hierarchical. Thatis, there is address information that represents an address region, suchas address information corresponding to an administrative region, forexample, Beijing serves as a piece of address information, and then“Beijing” corresponds to an address region on a map. There is alsoaddress information that represents a specific location, for example, XXBuilding, No. XX, XX Road, XX District, XX City, where this piece ofaddress information corresponds to a specific location of XX Building.

Therefore, address information is classified to different address typesaccording to different levels of address information. The address typeincludes one or a combination of multiple of the following information,administrative region information, road name information,building/organization name information, auxiliary content of the roadname, and auxiliary content of the building/organization name.

For example, for the address information “Room XX, Floor XX, XXBuilding, No.

XX, XX Road, XX District, XX City”, an address type corresponding to “XXDistrict, XX City” is administrative region information, an address typecorresponding to “XX Road” is road name information, an address typecorresponding to “No. XX” is auxiliary content of the road name, anaddress type corresponding to “XX Building” is building/organizationname information, and an address type corresponding to “Room XX, FloorXX” is auxiliary content of the building/organization name.

It should be noted that the auxiliary content of the road name indicatesthat it is meaningless without the road name in front of it, and aspecific address cannot be located using the auxiliary content of theroad name alone, likewise, the auxiliary content of thebuilding/organization name indicates that it is also meaningless withoutthe building/organization name in front of it, and a specific addresscannot be located using the auxiliary content of thebuilding/organization name alone.

The preset text address dictionaries corresponding to different addresstypes include at least an administrative region dictionary, whichfurther includes administrative region information such as province,city, district, county, township, village, autonomous prefecture,league, and banner, which is, for example, Beijing Municipality,Beijing, Shanghai Municipality, Shanghai, Shenzhen City, and Shenzhen,an organization/building end word dictionary, which includes end-wordsof names of building/organizations, for example, police station,building, and center, a street name dictionary, which includes streetnames, for example, XX Road, XX Street, and XX Station. In addition, thefollowing dictionaries are also included a stop word dictionary, whichincludes words or phrases that convey the meaning of stop, for example,arrive, a symbol dictionary, which includes punctuation marks, and anumber dictionary, which includes numbers and the like.

For example, the at least one keyword included in the address searchrequest information is “go to,” “Shanghai,” “Caoyang Road,” “Station,”and “Exit No. 4.”

In this case, for each obtained keyword, execute the following steps.

Step 1: Find, from the preset text address dictionaries corresponding todifferent address types, a text address dictionary including thekeyword, and replace the keyword using a string used to represent anaddress type corresponding to the found text address dictionary.

For example, “go to” belongs to the stop word dictionary, “Shanghai”belongs to the administrative region dictionary, “Caoyang Road” and“Station” belong to the street name dictionary, “4” in “Exit No. 4”belongs to the number dictionary, and “No.” and “Exit” in “Exit No. 4”belong to the end word dictionary.

A string of an address type corresponding to the stop word dictionary isSSS, a string of an address type corresponding to the administrativeregion dictionary is AAA, a string of an address type corresponding tothe street name dictionary is RRR, a string of an address typecorresponding to the number dictionary is DDD, and a string of anaddress type corresponding to the end word dictionary is OOO.

Then a string group obtained after the replacement may beSSSAAARRRRRRDDDOOOOOO, or may be SSSAAA City RRR Road Station DDDOOOOOO.Whether a text used to represent an address type in the keyword isreplaced is not limited herein.

Step 2: Determine, using a regular expression used to represent addressinformation, whether a string group formed after each keyword isreplaced with a corresponding string represents address information, anddetermine, according to the string group, a quasi address stringcorresponding to the to-be-found destination address information whenthe string group represents address information.

It should be noted that a regular expression describes and matches,using a single string, a string that meets a syntactical rule, and theregular expression involved in this embodiment of the presentapplication describes address information.

For example, for the string group formed after each keyword is replacedwith the corresponding string, whether the string group representsaddress information is determined using a regular expression.

“AAA City” and “RRR Road Station” may represent address informationaccording to the determining using the regular expression, “SSS” may notrepresent address information according to the determining using theregular expression.

Step 3: Set the quasi address string as a CRF feature, and extract theto-be-found destination address information from the address searchrequest information based on a CRF algorithm.

It should be noted that the quasi address string is used as a CRFfeature, but a CRF feature for extracting the destination addressinformation based on the CRF algorithm is not limited to the quasiaddress string alone, and multiple strings may further be included.However, the CRF feature for extracting the destination addressinformation based on the CRF algorithm includes the CRF feature servedby the quasi address string.

In this case, the extracted destination address information is Exit No.4, Caoyang Road Station, Shanghai.

That the address extracting device 12 is determining the quasi addressstring corresponding to the to-be-found destination address informationwhich includes determining that multiple strings are included in thestring group, and that keywords that are respectively replaced with themultiple strings are continuous in position in the address searchrequest information, combining the multiple strings into one stringgroup based on continuity of positions of the replaced keywords, as thequasi address string corresponding to the to-be-found destinationaddress information if none of the multiple strings is a duplicate, andremoving the duplicate string if any of the multiple strings is aduplicate, and combining at least one string obtained after theduplicate string is removed into one string group based on continuity ofpositions of the replaced keywords, as the quasi address stringcorresponding to the to-be-found destination address information.

For example, none of the obtained multiple strings, AAA City, RRR RoadStation, and DDD, is a duplicate, and then a quasi address string, AAACity RRR Road Station DDD, is obtained by means of combination.

One of the obtained multiple strings, AAA, RRR, RRR, DDD, OOO, and OOO,is a duplicate, and then a quasi address string, AAARRRDDDOOO, isobtained by means of combination.

The address extracting device 12 is further configured to split thedestination address information into at least one piece of sub-addressinformation, where the destination address information is formed bymultiple pieces of sub-address information, and the multiple pieces ofsub-address information respectively correspond to different addresstypes.

The address extracting device 12 is further configured to split,according to the address types represented by the preset text addressdictionaries corresponding to different address types, the destinationaddress information into sub-address information corresponding to thedifferent address types.

For example, sub-address information obtained by splitting “Exit No. 4,Caoyang Road Station, Shanghai” is Shanghai, administrative regioninformation, Caoyang Road Station, street name information, and Exit No.4, auxiliary information of the street name.

The address matching device 13 is configured to match the at least onepiece of sub-address information or the at least one piece ofsub-address information and the destination address information withdifferent address information included in an address database, whereeach piece of address information stored in the address databaseincludes different sub-address information that forms the addressinformation, and set address information that is obtained by thematching and whose match degree is greater than a set threshold as founddestination address information for output.

The address matching device 13 is further configured to correspondinglymatch each of the at least one piece of sub-address information in thedestination address information with sub-address information of a sameaddress type in the address database.

The address matching device 13 is further configured to select one pieceof address information from the address database, and determinesub-address information included in the selected address information,perform matching calculation between each of the at least one piece ofsub-address information included in the to-be-found destination addressand the sub-address information included in the selected addressinformation to obtain a first match degree, where an address type of thesub-address information that is included in the to-be-found destinationaddress and for which matching calculation is performed is the same asan address type of the sub-address information included in the selectedaddress information, and obtain a total match degree between theselected address information and the to-be-found destination addressinformation according to the first match degree.

That is, each of the at least one piece of sub-address information inthe destination address information is matched with sub-addressinformation of a same address type in the address database. The addressmatching device 13 performs, using an address type corresponding to thesub-address information as a granularity, matching calculation insequence between the sub-address information that represents an addresstype in the to-be-found destination address information and thesub-address information that represents the same address type in theselected address information, and obtains, by means of calculation, thefirst match degree corresponding to the sub-address information.

In this case, a total match degree between the selected addressinformation and the to-be-found destination address information isobtained according to the first match degree.

Optionally, on this basis, matching calculation is performed between theto-be-found destination address information and the selected addressinformation to obtain a second match degree.

By performing the two steps of match degree calculation, addressinformation that includes only one or a few pieces of sub-addressinformation of the to-be-found destination address information, forexample, address information that includes only Exit No. 4, iseffectively excluded from the address information obtained using thefirst match degree.

The total match degree between the selected address information and theto-be-found destination address information is obtained according to thefirst match degree and the second match degree.

That the address matching device 13 is performing matching calculationbetween sub-address information included in the to-be-found destinationaddress and the sub-address information included in the selected addressinformation to obtain a first match degree further includes for eachpiece of sub-address information included in the to-be-found destinationaddress information, finding, from the selected address information,sub-address information whose address type is the same as that of thesub-address information for the sub-address information, calculating anediting distance required for mutual conversion between the sub-addressinformation and the found sub-address information, and calculating thefirst match degree according to an editing distance obtainedcorresponding to each piece of sub-address information included in theto-be-found destination address information.

It should be noted that the editing distance refers to a minimumquantity of editing operations required for converting one string intothe other string between two strings. The so-called editing operationrefers to replacing one character with another character, or insertingone character, or deleting one character, or the like.

That the address matching device 13 is calculating the first matchdegree according to an editing distance obtained corresponding to eachpiece of sub-address information included in the to-be-found destinationaddress information further includes calculating a sum of editingdistances obtained separately corresponding to sub-address informationincluded in the to-be-found destination address information, where thesum is the first match degree.

That the address matching device 13 is setting address information thatis obtained by the matching and whose match degree is greater than a setthreshold as found destination address information for output furtherincludes obtaining, by means of calculation, a total match degreebetween address information selected each time and the to-be-founddestination address information, and determining in sequence a setquantity of total match degrees in descending order of the total matchdegrees, and setting address information selected corresponding to thedetermined total match degrees as the found destination addressinformation for output.

It should be noted that the set similarity threshold may be defined by asystem default parameter, or may be determined according to an actualrequirement, which is not limited herein.

It should be noted that the set quantity may be defined by a systemdefault parameter, or may be determined according to an actualrequirement, which is not limited herein.

According to the address search system provided in the embodiments ofthe present application, sub-address information corresponding todestination address information is extracted from the address searchrequest information when address search request information is acquired,which improves correctness of extraction of destination addressinformation. The extracted sub-address information and the destinationaddress information are matched with different address informationincluded in an address database, and then address information whosematch degree is greater than a set threshold is used as founddestination address information, which effectively increases correctnessof address matching and accuracy of address searching.

Embodiment 2

As shown in FIG. 2, FIG. 2 is a schematic structural diagram of anaddress search device according to Embodiment 2 of the presentapplication. The address search device includes an acquiring module 21,a splitting module 22, and a searching module 23, where the acquiringmodule 21 is configured to acquire address search request information,and determine to-be-found destination address information included inthe address search request information. The splitting module 22 isconfigured to split the destination address information determined bythe acquiring module 21 into at least one piece of sub-addressinformation, where the destination address information is formed bymultiple pieces of sub-address information, and the multiple pieces ofsub-address information respectively correspond to different addresstypes, and the searching module 23 is configured to match the at leastone piece of sub-address information obtained by the splitting module 22or the at least one piece of sub-address information and the destinationaddress information with different address information included in anaddress database, where each piece of address information stored in theaddress database includes different sub-address information that formsthe address information, and set address information that is obtained bythe matching and whose match degree is greater than a set threshold asfound destination address information for output.

The acquiring module 21 is further configured to receive entered voicedata, where the voice data is used to initiate an address search, andperform recognition on the voice data to obtain the to-be-founddestination address information included in the voice data.

The acquiring module 21 is further configured to obtain the to-be-founddestination address information in the manner of determining at leastone keyword included in the address search request information, finding,from preset text address dictionaries corresponding to different addresstypes, a text address dictionary including the keyword for eachdetermined keyword, and replacing the keyword with a string used todenote an address type corresponding to the found text addressdictionary, determining, using a regular expression used to representaddress information, whether a string group formed after each keyword isreplaced with a corresponding string represents address information,determining, according to the string group, a quasi address stringcorresponding to the to-be-found destination address information whenthe string group represents address information, and setting the quasiaddress string as a CRF feature, and extracting the to-be-founddestination address information from the address search requestinformation based on a CRF algorithm.

That the acquiring module 21 determining the quasi address stringcorresponding to the to-be-found destination address information furtherincludes determining that multiple strings are included in the stringgroup, and keywords that are respectively replaced with the multiplestrings are continuous in position in the address search requestinformation, combining the multiple strings into one string group basedon continuity of positions of the replaced keywords, as the quasiaddress string corresponding to the to-be-found destination addressinformation if none of the multiple strings is a duplicate, and removingthe duplicate string if any of the multiple strings is a duplicate, andcombining at least one string obtained after the duplicate string isremoved into one string group based on continuity of positions of thereplaced keywords, as the quasi address string corresponding to theto-be-found destination address information.

The splitting module 22 is further configured to split, according to theaddress types represented by the preset text address dictionariescorresponding to different address types, the destination addressinformation into sub-address information corresponding to the differentaddress types.

The address type includes one or a combination of multiple of thefollowing information, administrative region information, road nameinformation, building/organization name information, auxiliary contentof the road name, and auxiliary content of the building/organizationname.

The searching module 23 is further configured to correspondingly matcheach of the at least one piece of sub-address information in thedestination address information with sub-address information of a sameaddress type in the address database.

The searching module 23 is further configured to select one piece ofaddress information from the address database, and determine sub-addressinformation included in the selected address information, performmatching calculation between each of the at least one piece ofsub-address information included in the to-be-found destination addressand the sub-address information included in the selected addressinformation to obtain a first match degree, where an address type of thesub-address information that is included in the to-be-found destinationaddress and for which matching calculation is performed is the same asan address type of the sub-address information included in the selectedaddress information, and obtain a total match degree between theselected address information and the to-be-found destination addressinformation according to the first match degree.

That the searching module 23 is obtaining a total match degree betweenthe selected address information and the to-be-found destination addressinformation according to the first match degree further includesperforming matching calculation between the selected address informationand the to-be-found destination address information to obtain a secondmatch degree, and obtaining the total match degree between the selectedaddress information and the to-be-found destination address informationaccording to the first match degree and the second match degree.

That the searching module 23 is performing matching calculation betweensub-address information included in the to-be-found destination addressand the sub-address information included in the selected addressinformation to obtain a first match degree further includes for eachpiece of sub-address information included in the to-be-found destinationaddress information, finding, from the selected address information,sub-address information whose address type is the same as that of thesub-address information for the sub-address information, calculating anediting distance required for mutual conversion between the sub-addressinformation and the found sub-address information, and calculating thefirst match degree according to an editing distance obtainedcorresponding to each piece of sub-address information included in theto-be-found destination address information.

That the searching module 23 is setting address information that isobtained by matching and whose match degree is greater than a setthreshold as found destination address information for output furtherincludes obtaining, by means of calculation, a total match degreebetween address information selected each time and the to-be-founddestination address information, and determining in sequence a setquantity of total match degrees in descending order of the total matchdegrees, and setting address information selected corresponding to thedetermined total match degrees as the found destination addressinformation for output.

It should be noted that the address search device described in thisembodiment of the present application may be implemented by means ofhardware, or may be implemented by means of software, and animplementation manner is not limited herein.

The address search device, extracts sub-address informationcorresponding to destination address information from the address searchrequest information when acquiring address search request information,which improves correctness of extraction of destination addressinformation, and matches the extracted sub-address information and thedestination address information with different address informationincluded in an address database, and then sets address information whosematch degree is greater than a set threshold as found destinationaddress information, which effectively increases correctness of addressmatching and accuracy of address searching.

Embodiment 3

As shown in FIG. 3, FIG. 3 is a schematic structural diagram of anaddress search device according to Embodiment 3 of the presentapplication. The address search device has functions described inEmbodiment 4 of the present application. The address search device mayuse a general computer system structure, where the computer system mayfurther be a processor-based computer. The address search deviceincludes at least one processor 31 and a signal receiver 32. Theprocessor 31 and the signal receiver 32 are connected using acommunications bus 33.

The signal receiver 32 is configured to acquire address search requestinformation, and determine to-be-found destination address informationincluded in the address search request information.

The processor 31 is configured to split the destination addressinformation into at least one piece of sub-address information, wherethe destination address information is formed by multiple pieces ofsub-address information, and the multiple pieces of sub-addressinformation respectively correspond to different address types, matchthe at least one piece of sub-address information or the at least onepiece of sub-address information and the destination address informationwith different address information included in an address database,where each piece of address information stored in the address databaseincludes different sub-address information that forms the addressinformation, and set address information that is obtained by matchingand whose match degree is greater than a set threshold as founddestination address information for output.

In a possible implementation manner, the processor 31 further executesreceiving entered voice data, where the voice data is used to initiatean address search, and performing recognition on the voice data toobtain the to-be-found destination address information included in thevoice data.

In a possible implementation manner, the processor 31 further executesobtaining to-be-found destination address information in the followingmanner. Determining at least one keyword included in the address searchrequest information, finding, from preset text address dictionariescorresponding to different address types, a text address dictionaryincluding the keyword for each determined keyword, and replacing thekeyword with a string used to denote an address type corresponding tothe found text address dictionary, determining, using a regularexpression used to represent address information, whether a string groupformed after each keyword is replaced with a corresponding stringrepresents address information, determining, according to the stringgroup, a quasi address string corresponding to the to-be-founddestination address information when the string group represents addressinformation, setting the quasi address string as a CRF feature, andextracting the to-be-found destination address information from theaddress search request information based on a CRF algorithm.

In a possible implementation manner, the processor 31 further executesdetermining that multiple strings are included in the string group, andkeywords that are respectively replaced with the multiple strings arecontinuous in position in the address search request information,combining the multiple strings into one string group based on continuityof positions of the replaced keywords, as the quasi address stringcorresponding to the to-be-found destination address information if noneof the multiple strings is a duplicate, and removing the duplicatestring if any of the multiple strings is a duplicate, and combining atleast one string obtained after the duplicate string is removed into onestring group based on continuity of positions of the replaced keywords,as the quasi address string corresponding to the to-be-found destinationaddress information.

In a possible implementation manner, the processor 31 further executessplitting the destination address information into at least one piece ofsub-address information, which includes splitting, according to theaddress types represented by the preset text address dictionariescorresponding to different address types, the destination addressinformation into sub-address information corresponding to the differentaddress types.

In a possible implementation manner, the address type includes one or acombination of multiple of the following information, administrativeregion information, road name information, building/organization nameinformation, auxiliary content of the road name, and auxiliary contentof the building/organization name.

In a possible implementation manner, the processor 31 further executescorrespondingly matching each of the at least one piece of sub-addressinformation in the destination address information with sub-addressinformation of a same address type in the address database.

In a possible implementation manner, the processor 31 further executesmatching the at least one piece of sub-address information or the atleast one piece of sub-address information and the destination addressinformation with different address information included in an addressdatabase, which includes selecting one piece of address information fromthe address database, and determining sub-address information includedin the selected address information, performing matching calculationbetween each of the at least one piece of sub-address informationincluded in the to-be-found destination address and the sub-addressinformation included in the selected address information to obtain afirst match degree, where an address type of the sub-address informationthat is included in the to-be-found destination address and for whichmatching calculation is performed is the same as an address type of thesub-address information included in the selected address information,and obtaining a total match degree between the selected addressinformation and the to-be-found destination address informationaccording to the first match degree.

In a possible implementation manner, the processor 31 further executesobtaining a total match degree between the selected address informationand the to-be-found destination address information according to thefirst match degree, which further includes performing matchingcalculation between the selected address information and the to-be-founddestination address information to obtain a second match degree, andobtaining the total match degree between the selected addressinformation and the to-be-found destination address informationaccording to the first match degree and the second match degree.

In a possible implementation manner, the processor 31 further executesperforming matching calculation between sub-address information includedin the to-be-found destination address and the sub-address informationincluded in the selected address information to obtain a first matchdegree, which includes for each piece of sub-address informationincluded in the to-be-found destination address information, finding,from the selected address information, sub-address information whoseaddress type is the same as that of the sub-address information for thesub-address information, calculating an editing distance required formutual conversion between the sub-address information and the foundsub-address information, and calculating the first match degreeaccording to an editing distance obtained corresponding to each piece ofsub-address information included in the to-be-found destination addressinformation.

In a possible implementation manner, the processor 31 further executessetting address information that is obtained by matching and whose matchdegree is greater than a set threshold as found destination addressinformation for output, which includes obtaining, by means ofcalculation, a total match degree between address information selectedeach time and the to-be-found destination address information, anddetermining in sequence a set quantity of total match degrees indescending order of the total match degrees, and setting addressinformation selected corresponding to the determined total match degreesas the found destination address information for output.

The processor 31 may be a general purpose central processing unit (CPU),a microprocessor, an application-specific integrated circuit (ASIC), orone or more integrated circuits used to control execution of thesolution program of the present application.

The address search device provided in this embodiment of the presentapplication, when acquiring address search request information, extractssub-address information corresponding to destination address informationfrom the address search request information, which improves correctnessof extraction of destination address information, and matches theextracted sub-address information and the destination addressinformation with different address information included in an addressdatabase, and then sets address information whose match degree isgreater than a set threshold as found destination address information,which effectively increases correctness of address matching and accuracyof address searching.

Embodiment 4

As shown in FIG. 4, FIG. 4 is a schematic flowchart of an address searchmethod according to Embodiment 4 of the present application. The methodmay be shown in the following steps.

Step 401: Acquire address search request information.

The address search request information includes to-be-found destinationaddress information.

In step 401, a manner for acquiring the address search requestinformation includes but is not limited to the following manner.Receiving entered text data, where the text data is used to initiate anaddress search, or receiving entered voice data, where the voice data isused to initiate an address search.

It should be noted that, if the address search request information isvoice data, then the method further includes performing recognition onthe received voice data to obtain text data corresponding to the voicedata.

Step 402: Determine to-be-found destination address information includedin the address search request information.

In step 402, the to-be-found destination address information is obtainedin the following manner. Determining at least one keyword included inthe address search request information, finding, from preset textaddress dictionaries corresponding to different address types, a textaddress dictionary including the keyword for each determined keyword,and replacing the keyword with a string used to denote an address typecorresponding to the found text address dictionary, determining, using aregular expression used to represent address information, whether astring group formed after each keyword is replaced with a correspondingstring represents address information, determining, according to thestring group, a quasi address string corresponding to the to-be-founddestination address information when the string group represents addressinformation, and setting the quasi address string as a CRF feature, andextracting the to-be-found destination address information from theaddress search request information based on a CRF algorithm.

Further, the address information is hierarchical. That is, there isaddress information that represents an address region, such as addressinformation corresponding to an administrative region, for example,Beijing serves as a piece of address information, and then “Beijing”corresponds to an address region on a map. There is also addressinformation that represents a specific location, for example, XXBuilding, No. XX, XX Road, XX District, XX City, where this piece ofaddress information corresponds to a specific location of XX Building.

Therefore, address information is classified to different address typesaccording to different levels of address information. The address typeincludes one or a combination of multiple of the following information,administrative region information, road name information,building/organization name information, auxiliary content of the roadname, and auxiliary content of the building/organization name.

For example, for the address information “Room XX, Floor XX, XXBuilding, No. XX, XX Road, XX District, XX City”, an address typecorresponding to “XX District, XX City” is administrative regioninformation, an address type corresponding to “XX Road” is road nameinformation, an address type corresponding to “No. XX” is auxiliarycontent of the road name, an address type corresponding to “XX Building”is building/organization name information, and an address typecorresponding to “Room XX, Floor XX” is auxiliary content of thebuilding/organization name.

It should be noted that the auxiliary content of the road name indicatesthat it is meaningless without the road name in front of it, and aspecific address cannot be located using the auxiliary content of theroad name alone. Likewise, the auxiliary content of thebuilding/organization name indicates that it is also meaningless withoutthe building/organization name in front of it, and a specific addresscannot be located using the auxiliary content of thebuilding/organization name alone.

The preset text address dictionaries corresponding to different addresstypes include at least an administrative region dictionary, whichfurther includes administrative region information such as province,city, district, county, township, village, autonomous prefecture,league, and banner, which is further, for example, Beijing Municipality,Beijing, Shanghai Municipality, Shanghai, Shenzhen City, and Shenzhen,an organization/building end word dictionary, which includes end wordsof names of buildings/organizations, for example, police station,building, and center, a street name dictionary, which includes streetnames, for example, XX Road, XX Street, and XX Station. In addition, thefollowing dictionaries are also included. A stop word dictionary, whichincludes words or phrases that convey the meaning of stop, for example,arrive, a symbol dictionary, which includes punctuation marks, and anumber dictionary, which includes numbers and the like.

For example, the at least one keyword included in the address searchrequest information is “go to,” “Shanghai,” “Caoyang Road,” “Station,”and “Exit No. 4.”

In this case, for each obtained keyword, execute the following steps.

Step 1: Find, from the preset text address dictionaries corresponding todifferent address types, a text address dictionary including thekeyword, and replace the keyword using a string used to represent anaddress type corresponding to the found text address dictionary.

For example, “go to” belongs to the stop word dictionary, “Shanghai”belongs to the administrative region dictionary, “Caoyang Road” and“Station” belong to the street name dictionary, “4” in “Exit No. 4”belongs to the number dictionary, and “No.” and “Exit” in “Exit No. 4”belong to the end word dictionary.

A string of an address type corresponding to the stop word dictionary isSSS, a string of an address type corresponding to the administrativeregion dictionary is AAA, a string of an address type corresponding tothe street name dictionary is RRR, a string of an address typecorresponding to the number dictionary is DDD, and a string of anaddress type corresponding to the end word dictionary is OOO.

Then a string group obtained after the replacement may beSSSAAARRRRRRDDDOOOOOO, or may be SSSAAA City RRR Road Station DDDOOOOOO.Whether a text used to represent an address type in the keyword isreplaced is not limited herein.

Step 2: Determine, using a regular expression used to represent addressinformation, whether a string group formed after each keyword isreplaced with a corresponding string represents address information, anddetermine, according to the string group, a quasi address stringcorresponding to the to-be-found destination address information whenthe string group represents address information.

It should be noted that a regular expression describes and matches,using a single string, a string that meets a syntactical rule, and theregular expression involved in this embodiment of the presentapplication describes address information.

For example, for the string group formed after each keyword is replacedwith the corresponding string, whether the string group representsaddress information is determined using a regular expression.

“AAA City” and “RRR Road Station” may represent address informationaccording to the determining using the regular expression, “SSS” may notrepresent address information according to the determining using theregular expression.

Step 3 Set the quasi address string as a CRF feature, and extract theto-be-found destination address information from the address searchrequest information based on a CRF algorithm.

It should be noted that the quasi address string is used as a CRFfeature, but a CRF feature for extracting the destination addressinformation based on the CRF algorithm is not limited to only the oneCRF feature served by the quasi address string, and multiple CRFfeatures may further be included. However, the CRF feature forextracting the destination address information based on the CRFalgorithm includes the CRF feature served by the quasi address string.

In this case, the extracted destination address information is Exit No.4, Caoyang Road Station, Shanghai.

Optionally, determining, according to the string group, a quasi addressstring corresponding to the to-be-found destination address informationfurther includes determining that multiple strings are included in thestring group, and that keywords that are respectively replaced with themultiple strings are continuous in position in the address searchrequest information, combining the multiple strings into one stringgroup based on continuity of positions of the replaced keywords, as thequasi address string corresponding to the to-be-found destinationaddress information if none of the multiple strings is a duplicate, andremoving the duplicate string if any of the multiple strings is aduplicate, and combining at least one string obtained after theduplicate string is removed into one string group based on continuity ofpositions of the replaced keywords, as the quasi address stringcorresponding to the to-be-found destination address information.

Step 403: Split the destination address information into at least onepiece of sub-address information, where the destination addressinformation is formed by multiple pieces of sub-address information, andthe multiple pieces of sub-address information respectively correspondto different address types.

In step 403, the destination address information is split, according tothe address types represented by the preset text address dictionariescorresponding to different address types, into sub-address informationcorresponding to the different address types.

For example, sub-address information obtained by splitting “Exit No. 4,Caoyang Road Station, Shanghai” is Shanghai, administrative regioninformation, Caoyang Road Station, street name information, and Exit No.4, auxiliary information of the street name.

Step 404: Match the at least one piece of sub-address information or theat least one piece of sub-address information and the destinationaddress information with different address information included in anaddress database, and set address information that is obtained bymatching and whose match degree is greater than a set threshold as founddestination address information for output.

Each piece of address information stored in the address databaseincludes different sub-address information that forms the addressinformation.

In step 404, first, one piece of address information is selected fromthe address database, and sub-address information included in theselected address information is determined.

Second, matching calculation is performed between each of the at leastone piece of sub-address information included in the to-be-founddestination address and the sub-address information included in theselected address information to obtain a first match degree, where anaddress type of the sub-address information that is included in theto-be-found destination address and for which matching calculation isperformed is the same as an address type of the sub-address informationincluded in the selected address information.

Performing matching calculation between sub-address information includedin the to-be-found destination address and the sub-address informationincluded in the selected address information to obtain a first matchdegree further includes for each piece of sub-address informationincluded in the to-be-found destination address information, finding,from the selected address information, sub-address information whoseaddress type is the same as that of the sub-address information for thesub-address information, calculating an editing distance required formutual conversion between the sub-address information and the foundsub-address information, and calculating the first match degreeaccording to an editing distance obtained corresponding to each piece ofsub-address information included in the to-be-found destination addressinformation.

It should be noted that the editing distance refers to a minimumquantity of editing operations required for converting one string intothe other string between two strings. The so-called editing operationrefers to replacing one character with another character, or insertingone character, or deleting one character, or the like.

Assuming that one piece of address data selected from the addressdatabase is XXX Station, XXX District, XX City. In this case, one pieceof sub-address information “Shanghai” is selected from the to-be-founddestination address information “Exit No. 4, Caoyang Road Station,Shanghai,” and the address type corresponding to “Shanghai” isdetermined as an administrative region. Then, sub-address information“XX City” that represents the administrative region is found from the“XXX Station, XXX District, XX City,” and an editing distance requiredfor performing mutual conversion between “XX City” and “Shanghai” iscalculated.

If “XX City” is Shanghai, then the editing distance required forperforming mutual conversion between “XX City” and “Shanghai” is 0, if“XX City” is Beijing, then the editing distance required for performingmutual conversion between “XX City” and “Shanghai” is 2.

After the editing distance is determined, a first match degree betweenthe sub-address information in the to-be-found destination addressinformation and the sub-address information of the same address type inthe selected address information is obtained according to the editingdistance obtained by means of calculation.

For example, the first match degree=1−editing distance/MAX (a quantityof strings corresponding to the sub-address information in theto-be-found destination address information, a quantity of stringscorresponding to the sub-address information of the same address type inthe selected address information), or, the first match degree=editingdistance/MAX (a quantity of strings corresponding to the sub-addressinformation in the to-be-found destination address information, aquantity of strings corresponding to the sub-address information of thesame address type in the selected address information).

When a first match degree corresponding to each piece of sub-addressinformation included in the to-be-found destination address informationis obtained, a first match degree between the sub-address informationincluded in the to-be-found destination address information and thesub-address information included in the selected address information isobtained according to the obtained first match degree.

Finally, a total match degree between the selected address informationand the to-be-found destination address information is obtainedaccording to the first match degree.

One manner is setting the obtained first match degree as the total matchdegree between the selected address information and the to-be-founddestination address information.

Another manner is continuing performing matching calculation between theselected address information and the to-be-found destination addressinformation to obtain a second match degree.

The total match degree between the selected address information and theto-be-found destination address information is obtained according to thefirst match degree and the second match degree.

The setting address information that is obtained by matching and whosematch degree is greater than a set threshold as found destinationaddress information for output further includes obtaining, by means ofcalculation, a total match degree between address information selectedeach time and the to-be-found destination address information, anddetermining in sequence a set quantity of total match degrees indescending order of the total match degrees, and setting addressinformation selected corresponding to the determined total match degreesas the found destination address information for output.

It should be noted that the set similarity threshold may be defined by asystem default parameter, or may be determined according to an actualrequirement, which is not limited herein.

It should be noted that the set quantity may be defined by a systemdefault parameter, or may be determined according to an actualrequirement, which is not limited herein.

According to the solution of Embodiment 4 of the present application,address search request information is acquired, and to-be-founddestination address information included in the address search requestinformation is determined. The destination address information is splitinto at least one piece of sub-address information, where thedestination address information is formed by multiple pieces ofsub-address information, and the multiple pieces of sub-addressinformation respectively correspond to different address types. The atleast one piece of sub-address information or the at least one piece ofsub-address information and the destination address information arematched with different address information included in an addressdatabase, where each piece of address information stored in the addressdatabase includes different sub-address information that forms theaddress information, and address information that is obtained by thematching and whose match degree is greater than a set threshold is usedas found destination address information for output. In the embodimentsof the present application, when address search request information isacquired, sub-address information corresponding to destination addressinformation is extracted from the address search request information,which improves correctness of extraction of destination addressinformation. The extracted sub-address information and the destinationaddress information are matched with different address informationincluded in an address database, and then address information whosematch degree is greater than a set threshold is used as founddestination address information, which effectively increases correctnessof address matching and accuracy of address searching.

A person skilled in the art should understand that the embodiments ofthe present application may be provided as a method, an apparatus(device), or a computer program product. Therefore, the presentapplication may use a form of hardware only embodiments, software onlyembodiments, or embodiments with a combination of software and hardware.Moreover, the present application may use a form of a computer programproduct that is implemented on one or more computer-usable storage media(including but not limited to a disk memory, a compact-disc read-onlymemory (CD-ROM), an optical memory, and the like) that includecomputer-usable program code.

The present application is described with reference to the flowchartsand/or block diagrams of the method, the apparatus (device), and thecomputer program product according to the embodiments of the presentapplication. It should be understood that computer program instructionsmay be used to implement each process and/or each block in theflowcharts and/or the block diagrams and a combination of a processand/or a block in the flowcharts and/or the block diagrams. Thesecomputer program instructions may be provided for a general-purposecomputer, a dedicated computer, an embedded processor, or a processor ofany other programmable data processing device to generate a machine suchthat the instructions executed by a computer or a processor of any otherprogrammable data processing device generate an apparatus forimplementing a specific function in one or more processes in theflowcharts and/or in one or more blocks in the block diagrams.

These computer program instructions may also be stored in a computerreadable memory that can instruct the computer or any other programmabledata processing device to work in a specific manner such that theinstructions stored in the computer readable memory generate an artifactthat includes an instruction apparatus. The instruction apparatusimplements a specific function in one or more processes in theflowcharts and/or in one or more blocks in the block diagrams.

These computer program instructions may also be loaded onto a computeror another programmable data processing device such that a series ofoperations and steps are performed on the computer or the otherprogrammable device, thereby generating computer-implemented processing.Therefore, the instructions executed on the computer or the otherprogrammable device provide steps for implementing a specific functionin one or more processes in the flowcharts and/or in one or more blocksin the block diagrams.

Although some exemplary embodiments of the present application have beendescribed, a person skilled in the art can make changes andmodifications to these embodiments once they learn the basic concept.Therefore, the following claims are intended to be construed as to coverthe exemplary embodiments and all changes and modifications fallingwithin the scope of the present application.

Obviously, a person skilled in the art can make various modificationsand variations to the present application without departing from thescope of the present application. The present application is intended tocover these modifications and variations provided that they fall withinthe scope of protection defined by the following claims and theirequivalent technologies.

What is claimed is:
 1. An address search method, comprising: acquiringaddress search request information comprising to-be-found destinationaddress information; obtaining the to-be-found destination addressinformation; splitting the to-be-found destination address informationinto at least one piece of sub-address information; matching the atleast one piece of sub-address information with different addressinformation in an address database to obtain a plurality of matchdegrees, wherein each piece of address information stored in the addressdatabase comprises different sub-address information that forms theaddress information, and wherein each piece of address information andthe to-be-found destination address information has one match degree;and setting first address information as found destination addressinformation, wherein a first match degree between the first addressinformation and the to-be-found destination address information isgreater than a preset threshold.
 2. The address search method of claim1, further comprising: receiving voice data, wherein the voice datainitiates an address search; and performing recognition on the voicedata to obtain the to-be-found destination address information, whereinthe voice data comprises the to-be-found destination addressinformation.
 3. The address search method of claim 1, furthercomprising: determining at least one keyword comprised in the addresssearch request information; finding, for each keyword from preset textaddress dictionaries corresponding to different address types, a textaddress dictionary comprising a respective keyword; replacing therespective keyword with a string denoting an address type correspondingto the text address dictionary; determining, using a regular expressionrepresenting the address information, whether a string group formedafter each keyword is replaced with a corresponding string representingthe address information; determining, according to the string group, aquasi address string corresponding to the to-be-found destinationaddress information, wherein the string group represents the addressinformation; setting the quasi address string as a conditional randomfield (CRF) feature; and extracting the to-be-found destination addressinformation from the address search request information based on a CRFalgorithm.
 4. The address search method of claim 3, wherein determiningthe quasi address string comprises: determining that the string groupcomprises a plurality of strings; determining that a plurality ofreplaced keywords that are respectively replaced with the strings arecontinuous in position in the address search request information;combining the strings into one string group based on a continuity ofpositions of the replaced keywords to form the quasi address string inresponse to a duplicate string not existing in the strings; removing theduplicate string in response to the duplicate string existing in thestrings; and combining at least one string obtained after the duplicatestring is removed into the one string group based on the continuity ofpositions of the replaced keywords to form the quasi address string. 5.The address search method of claim 1, further comprising splitting,according to address types represented by preset text addressdictionaries corresponding to different address types, the to-be-founddestination address information into the sub-address information,wherein the sub-address information corresponds to the different addresstypes.
 6. The address search method of claim 1, wherein the address typecomprises at least one of: administrative region information; road nameinformation; a building or an organization name information; auxiliarycontent of the road name; or auxiliary content of the building or theorganization name.
 7. The address search method of claim 1, furthercomprising correspondingly matching each of the at least one piece ofsub-address information with sub-address information of a same addresstype in the address database.
 8. The address search method of claim 1,wherein matching the at least one piece of sub-address information withthe different address information to obtain the match degrees comprises:selecting one piece of address information from the address database toobtain selected address information; determining sub-address informationcomprised in the selected address information; performing a matchingcalculation between each of the at least one piece of sub-addressinformation of the to-be-found destination address information and thesub-address information of the selected address information to obtain afirst match degree, wherein an address type of the at least one piece ofsub-address information is the same as an address type of thesub-address information of the selected address information; andobtaining a total match degree between the selected address informationand the to-be-found destination address information according to thefirst match degree.
 9. The address search method of claim 8, furthercomprising: performing a matching calculation between the selectedaddress information and the to-be-found destination address informationto obtain a second match degree; obtaining the total match degreebetween the selected address information and the to-be-found destinationaddress information according to the first match degree and the secondmatch degree; and setting address information based on the total matchdegree being greater than a set threshold as the found destinationaddress information.
 10. The address search method of claim 8, furthercomprising: finding, for a respective piece of sub-address informationfrom the selected address information, sub-address information having anaddress type that is the same as that of the respective piece ofsub-address information; calculating an editing distance for mutualconversion between the respective piece of sub-address information andthe sub-address information having the address type that is the same asthat of the respective piece of sub-address; and calculating the firstmatch degree according to the editing distance obtained corresponding toeach piece of sub-address information.
 11. The address search method ofclaim 8, further comprising: obtaining the total match degree betweenaddress information and the to-be-found destination address information;determining in sequence a set quantity of total match degrees indescending order of the total match degrees; and setting addressinformation selected corresponding to the total match degrees as thefound destination address information.
 12. An address search device,comprising: a memory comprising instructions; and a processor coupled tothe memory and configured to execute the instructions, which cause theprocessor to be configured to: acquire address search requestinformation comprising to-be-found destination address information;obtain the-be-found destination address information; split theto-be-found destination address information into at least one piece ofsub-address information; match the at least one piece of sub-addressinformation with different address information in an address database toobtain a plurality of match degrees, wherein each piece of addressinformation stored in the address database comprises differentsub-address information that forms the address information, and whereineach piece of address information and the to-be-found destinationaddress information has one match degree; and set first addressinformation as found destination address information, wherein a matchdegree between the first address information and the to-be-founddestination address information is greater than a preset threshold. 13.The address search device of claim 12, wherein the instructions furthercause the processor to be configured to: determine at least one keywordcomprised in the address search request information; find, for eachkeyword, from preset text address dictionaries corresponding todifferent address types, a text address dictionary comprising arespective keyword; replace the respective keyword with a stringdenoting an address type corresponding to the text address dictionary;determine, using a regular expression representing address information,whether a string group formed after each keyword is replaced with acorresponding string representing the address information; determine,according to the string group, a quasi address string corresponding tothe to-be-found destination address information, wherein the stringgroup represents the address information; set the quasi address stringas a conditional random field (CRF) feature; and extract the to-be-founddestination address information from the address search requestinformation based on a CRF algorithm.
 14. The address search device ofclaim 13, wherein the instructions further cause the processor to beconfigured to: determine that the string group comprises a plurality ofstrings; determine that a plurality of replaced keywords that arerespectively replaced with the strings are continuous in position in theaddress search request information; combine the strings into one stringgroup based on continuity of positions of the replaced keywords to formthe quasi address string when a duplicate string does not exist in thestrings; remove the duplicate string when the duplicate string exists inthe strings; and combine at least one string obtained after theduplicate string is removed into the one string group based on thecontinuity of positions of the replaced keywords to form the quasiaddress string.
 15. The address search device of claim 12, wherein theinstructions further cause the processor to be configured to split,according to the address types represented by preset text addressdictionaries corresponding to the different address types, theto-be-found destination address information into the sub-addressinformation, wherein the sub-address information corresponds to thedifferent address types.
 16. The address search device of claim 12,wherein the address type comprises at least one of: administrativeregion information; road name information; a building or an organizationname information; auxiliary content of the road name; and auxiliarycontent of the building or the organization name.
 17. The address searchdevice of claim 12, wherein the instructions further cause the processorto be configured to correspondingly match each of the at least one pieceof sub-address information with sub-address information of a sameaddress type in the address database.
 18. The address search device ofclaim 12, wherein the instructions further cause the processor to beconfigured to: select one piece of address information from the addressdatabase to obtain selected address information; determine sub-addressinformation of the selected address information; perform a matchingcalculation between each of the at least one piece of sub-addressinformation of the to-be-found destination address and the sub-addressinformation of the selected address information to obtain a first matchdegree, wherein an address type of the at least one piece of sub-addressinformation is the same as an address type of the sub-addressinformation of the selected address information; and obtain a totalmatch degree between the selected address information and theto-be-found destination address information according to the first matchdegree.
 19. The address search device of claim 19, wherein theinstructions further cause the processor to be configured to: perform amatching calculation between the selected address information and theto-be-found destination address information to obtain a second matchdegree; and obtain the total match degree between the selected addressinformation and the to-be-found destination address informationaccording to the first match degree and the second match degree.
 20. Acomputer program product comprising computer-executable instructions forstorage on a non-transitory computer-readable medium that, when executedby a processor, cause an address search device to: acquire addresssearch request information comprising to-be-found destination addressinformation; obtain the-be-found destination address information; splitthe to-be-found destination address information into at least one pieceof sub-address information; match the at least one piece of sub-addressinformation with different address information in an address database toobtain a plurality of match degrees, wherein each piece of addressinformation stored in the address database comprises differentsub-address information that forms the address information, and whereineach piece of address information and the to-be-found destinationaddress information has one match degree; and set first addressinformation as found destination address information, wherein a matchdegree between the first address information and the to-be-founddestination address information is greater than a preset threshold.